package com.xiaoming;

import java.util.Arrays;

public class 冒泡排序 {

    public static void main(String[] args) {
        int[] arr = new int[]{33, 23, 42, 11, 65, 22};
        System.out.println("排序前：" + Arrays.toString(arr));
        arrSort(arr);
        System.out.println("排序前：" + Arrays.toString(arr));
    }

    private static void arrSort(int[] arr) {
        int length = arr.length - 1;//获取数组长度
        boolean swapped;//判断是否结束循环   已经排好序的情况下 可以提前结束循环 减少循环次数

        for (int i = 0; i < length; i++) {//外层循环，总共要循环几次
            swapped = false;//默认终结
            for (int j = 0; j < length - i; j++) {//内层循环，相邻作比较并交换  -i的目的是  每次排序完后面的不需要再进行循环了
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    swapped = true;//有交换就继续
                }
            }
            if (!swapped) {
                break;
            }
        }
    }




}
